//package com.doyutu.seed.generator;
//
//import com.baomidou.mybatisplus.generator.AutoGenerator;
//import com.baomidou.mybatisplus.generator.config.*;
//import com.baomidou.mybatisplus.generator.config.rules.DbType;
//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
//import org.junit.Test;
//
///**
// * @author DoyuTu
// * @version 0.0.1
// * spring-boot-project-seed
// * 代码生成
// */
//public class GeneratorServiceEntity {
//
//    @Test
//    public void generateCode() {
//        String packageName = "com.doyutu.seed";
//        boolean serviceNameStartWithI = false;//user -> UserService, 设置成true: user -> IUserService
//        generateByTables(serviceNameStartWithI, packageName, "stat_role","stat_role_permission_rel","stat_user","stat_user_role_rel");
//    }
//
//    private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
//        GlobalConfig config = new GlobalConfig();
//        String dbUrl = "jdbc:mysql://localhost:3306/seed_project?useSSL=false&useUnicode=true&characterEncoding=utf8";
//        DataSourceConfig dataSourceConfig = new DataSourceConfig();
//        dataSourceConfig.setDbType(DbType.MYSQL)
//                .setUrl(dbUrl)
//                .setUsername("root")
//                .setPassword("")
//                .setDriverName("com.mysql.jdbc.Driver");
//        StrategyConfig strategyConfig = new StrategyConfig();
//        strategyConfig
//                .setCapitalMode(true)
//                .setEntityLombokModel(true)
//                .setDbColumnUnderline(true)
//                .setNaming(NamingStrategy.underline_to_camel)
//                .setLogicDeleteFieldName("logic_delete")
//                .setInclude(tableNames);//修改替换成你需要的表名，多个表名传数组
//        config.setActiveRecord(false)
//                .setEnableCache(false)
//                .setBaseResultMap(true)
//                .setBaseColumnList(true)
//                .setAuthor("DoyuTu")
//                .setOutputDir(System.getProperty("user.dir") + "/src/main/java/")
//                //是否打开输出目录
//                .setOpen(false)
//                .setFileOverride(true);
//        if (!serviceNameStartWithI) {
//            config.setServiceName("%sService");
//        }
//        new AutoGenerator().setGlobalConfig(config)
//                .setDataSource(dataSourceConfig)
//                .setStrategy(strategyConfig)
//                .setTemplate(
//                        new TemplateConfig()
//                                .setController(null)
//                )
//                .setPackageInfo(
//                        new PackageConfig()
//                                .setParent(packageName)
////                                .setController("controller")
//                                .setEntity("entity")
//                                .setMapper("mapper")
//                                .setXml("mapper.xml")
//                ).execute();
//    }
//
//    private void generateByTables(String packageName, String... tableNames) {
//        generateByTables(true, packageName, tableNames);
//    }
//
//}
